/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package com.tesis2.pucp.Envio.Controlador;

import com.tesis2.pucp.Envio.DAO.VehiculoDAO;
import com.tesis2.pucp.Envio.Vista.VehiculoGUI;
import com.tesis2.pucp.Modelo.TesisHorario;
import com.tesis2.pucp.Seguridad.Controlador.*;
import com.tesis2.pucp.Modelo.TesisPerfil;
import com.tesis2.pucp.Modelo.TesisUsuario;
import com.tesis2.pucp.Modelo.TesisVehiculo;
import com.tesis2.pucp.Seguridad.DAO.UsuarioDAO;
import com.tesis2.pucp.Seguridad.Vista.UsuarioGUI;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.ItemEvent;
import java.awt.event.ItemListener;
import java.util.ArrayList;
import java.util.Date;

/**
 *
 * @author jorge
 */
public class VehiculoControlador {
    private VehiculoDAO m;
    private VehiculoGUI VehiculoView;
    private TesisVehiculo vehiculo;
    private ArrayList<TesisHorario> lstHorarios;
    private BuscarVehiculoControlador buscarVehiculoControlador;
    private final static int ESTADO_ACTIVO=1;

    public VehiculoControlador(VehiculoDAO dao, VehiculoGUI view, BuscarVehiculoControlador buc, TesisVehiculo vehiculo){
        m = dao;
        VehiculoView = view;
        buscarVehiculoControlador = buc;
        llenarPerfilCombo();
        this.vehiculo=vehiculo;
        VehiculoView.setFormUsuario(this.vehiculo);
        
        VehiculoView.addCancelarListener(new cancelarListener());        
        VehiculoView.addLimpiarListener(new limpiarListener());              
        VehiculoView.addGuardarListener(new guardarVehiculoListener());
        
    }
 
    private void llenarPerfilCombo(){
            lstHorarios = m.listarHorario();
            VehiculoView.llenaComboHorario(lstHorarios);
    }      
    
    
        
    class guardarVehiculoListener implements ActionListener{

        @Override
        public void actionPerformed(ActionEvent e) {
            TesisVehiculo a = new TesisVehiculo();
            a.setAlto(Integer.valueOf(VehiculoView.getAlto()));
            a.setAncho(Integer.valueOf(VehiculoView.getAncho()));
            a.setDescripcion(VehiculoView.getDescripcion());
            a.setLargo(Integer.valueOf(VehiculoView.getLargo()));
            a.setTesisHorario(lstHorarios.get(VehiculoView.getHorario()));
            a.setEstado(ESTADO_ACTIVO);
              
            m.guardarVehiculo(a);
            if (vehiculo!=null) {VehiculoView.mostrarAviso("Se modificó el usuario con éxito");}
            else { VehiculoView.mostrarAviso("Se registró el usuario con éxito");}
            buscarVehiculoControlador.listarResultados();            
            VehiculoView.dispose();            
        }
    }
    
    class cancelarListener implements ActionListener{
        @Override
        public void actionPerformed(ActionEvent e) {
            VehiculoView.dispose();
        }        
    }    
           
    
    class limpiarListener implements ActionListener{
        @Override
        public void actionPerformed(ActionEvent e) {
            VehiculoView.LimpiarDatos();
        }        
    }    
}
